package com.csaba.connector;

import com.csaba.connector.model.Session;

/**
 * The banking services are implemented (surprisingly) as BankService 
 * implementation classes.
 * <p> BankService classes are usually instantiated for each invocation. 
 * The service classes are definning "setter" methods for setting input 
 * values. After supplying the approriate inputs, the "execute()" method 
 * is invoked in order to get the desired information from the banking
 * system.
 * The service result can be inqured through "getter" methods.
 * <p> <b>Use one bank service instance only once!</b>
 * <p> The <code>com.csaba.connector.service</code> package defines 
 * basic banking services that should be implemented by each banking 
 * plugin in order to work properly with the Csaba frameworks.
 * @author Gabe
 *
 */
public interface BankService
{
	final static String ALL_PERMISSION = "com.csaba.permission.All";

	void execute( Session session ) throws ServiceException;

	void checkPermission( Session session ) throws ServiceException;
}
